main(String arg[])问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 18:10:23
在JAVA中,public static void main(String arg[])用来获取从控制台输入的数据.
我的问题在这里:
main(String arg[])中的String arg[],按照JAVA的语法规则,定义一个数组对象,需要为这个数组分配内存空间,具体的书写方式为:
int array[]=new int[10],这里定义并创建了一个可以存放10个元素的数组array.而为什么main(String arg[])中的String arg[]不需要这样写呢?我认为main(String arg[])中的String arg[]根本就没有分配内存空间.
它和真正的数组又有什么区别呢?
既然是参数(形参),1,那实参在哪呢?
2,那是不是只有在控制台输入数据的时候,系统才分配空间,
3,用来接受输入数据的数组又在哪呢?
到底这个main(String arg[])是怎么回事啊,总感觉它和别的数组或者参数不太一样~~~~~~~~~郁闷~~~~~~~~~``````

你可以认为java运行程序只不过是调用对应的类里面的main方法而已
例如java Main arg1 arg2
相当于运行这段代码:
String[] args = new String[]{"arg1","arg2"};
Main.main(args);

实参是虚拟机自己产生的,就是上面这句:
String[] args = new String[]{"arg1","arg2"};
你是看不到的
如果控制台没有输入参数,就args = new String[0];

请注意啊 那是形式参数 不为它开辟空间啊

不为参数分配内存空间。